package Vista;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JComboBox;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import Controlador.CUnidad;

import java.awt.Font;
import java.awt.Color;
//librerias

import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.event.ActionListener;
import java.awt.event.WindowListener;
import java.util.Vector;

import javax.swing.DebugGraphics;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;

import clasesCreadas.JPanelImagen;
//librerias

@SuppressWarnings({ "serial", "unused", "rawtypes", "unchecked"})
public class VUnidad extends JFrame{

	private JPanel contentPane;
	private JPanel panel;
	private JLabel lblcodigo;
	private JLabel lbldescripcion;
	private JTextField txtcodigo;
	private JTextField txtdescripcion;
	private JButton btnguardar;
	private JButton btnmodificar;
	private JButton btnlimpiar;
	private JButton btneliminar;
	private JLabel lbltitulo;
	private JButton btnbuscar;
	private JComboBox cmbTipo;
	private JLabel lblSocio;
	private JTextField txtSocio;
	private JTextField txtTipo;
	private JLabel lbltipo;
	private JPanel logo;
	private JLabel lblchofer;
	private JComboBox cmbChofer;
	private JTextField txtChofer;
	private JScrollPane scpUnidad;
	private JTable tblUnidad;
	
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					VEmpleado frame = new VEmpleado(null);
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		
		});
	
	}
	
	public VUnidad(CUnidad cuni){
		
		this.setExtendedState(Frame.MAXIMIZED_BOTH);
		this.setResizable(false);
		
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setBounds(100, 100, 612, 430);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(0, 0));
		setContentPane(contentPane);
		
		panel = new JPanel();
		panel.setBackground(Color.WHITE);
		contentPane.add(panel, BorderLayout.CENTER);
		panel.setLayout(null);
		
		logo = new JPanelImagen("Imagenes/logo.png");
		logo.setBounds(504, 289, 50, 50);
		panel.add(logo);
		
		scpUnidad = new JScrollPane();
		//contentPane.add(scpCooperativas);
		panel.add(scpUnidad);
		scpUnidad.setBounds(95, 289, 347, 88);
		scpUnidad.getHorizontalScrollBar().setSize(20, 10);
		
		DefaultTableModel tblCooperativaModel =
				new DefaultTableModel(
						new String[][] {},
						new String[] { "Placa", "Tipo" , "Marca"});
		
		tblUnidad = new JTable();
		DefaultTableCellRenderer modelocentrar = new DefaultTableCellRenderer();
        modelocentrar.setHorizontalAlignment(SwingConstants.CENTER);
        scpUnidad.setViewportView(tblUnidad);
        tblUnidad.setModel(tblCooperativaModel);
        tblUnidad.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        tblUnidad.getTableHeader().setFont(new java.awt.Font("Tahoma",1,12));
        tblUnidad.getTableHeader().setForeground(new java.awt.Color(64,128,128));
        tblUnidad.getColumnModel().getColumn(0).setCellRenderer(modelocentrar);
        tblUnidad.getColumnModel().getColumn(1).setCellRenderer(modelocentrar);
        tblUnidad.setFont(new java.awt.Font("Tahoma",0,12));
        tblUnidad.setEnabled(false);
        
		
		lblcodigo = new JLabel("Placa");
		lblcodigo.setBounds(118, 78, 70, 15);
		lblcodigo.setFont(new java.awt.Font("Tahoma",1,12));
		lblcodigo.setForeground(new java.awt.Color(64,128,128));
		panel.add(lblcodigo);
		
		txtcodigo = new JTextField();
		txtcodigo.setBounds(246, 73, 171, 26);
		panel.add(txtcodigo);
		
		lbldescripcion = new JLabel("Marca");
		lbldescripcion.setBounds(118, 122, 85, 15);
		lbldescripcion.setFont(new java.awt.Font("Tahoma",1,12));
		lbldescripcion.setForeground(new java.awt.Color(64,128,128));
		panel.add(lbldescripcion);
		
		txtdescripcion = new JTextField();
		txtdescripcion.setBounds(246, 117, 171, 26);
		panel.add(txtdescripcion);
		
		btnguardar = new JButton("Guardar");
		btnguardar.setBounds(478, 113, 171, 26);
		btnguardar.setForeground(new java.awt.Color(64,128,128));
		btnguardar.setFont(new java.awt.Font("Tahoma",1,12));
		btnguardar.setSize(99, 32);
		btnguardar.addActionListener(cuni);
		panel.add(btnguardar);
		
		lbltitulo = new JLabel("Unidad");
		lbltitulo.setBounds(246, 12, 120, 32);
		lbltitulo.setFont(new Font("Dialog", Font.BOLD, 24));
		lbltitulo.setForeground(new java.awt.Color(64,128,128));
		panel.add(lbltitulo);
		
		
		btnmodificar = new JButton("Modificar");
		btnmodificar.setBounds(478, 157, 171, 26);
		btnmodificar.setForeground(new java.awt.Color(64,128,128));
		btnmodificar.setFont(new java.awt.Font("Tahoma",1,12));
		btnmodificar.setSize(99, 32);
		btnmodificar.addActionListener(cuni);
		panel.add(btnmodificar);
		
		btneliminar = new JButton("Eliminar");
		btneliminar.setBounds(478, 201, 171, 26);
		btneliminar.setForeground(new java.awt.Color(64,128,128));
		btneliminar.setFont(new java.awt.Font("Tahoma",1,12));
		btneliminar.setSize(99, 32);
		btneliminar.addActionListener(cuni);
		panel.add(btneliminar);
		
		btnlimpiar = new JButton("Limpiar");
		btnlimpiar.setBounds(478, 245, 171, 26);
		btnlimpiar.setForeground(new java.awt.Color(64,128,128));
		btnlimpiar.setFont(new java.awt.Font("Tahoma",1,12));
		btnlimpiar.setSize(99, 32);
		btnlimpiar.addActionListener(cuni);
		panel.add(btnlimpiar);
		
		
		btnbuscar = new JButton("Buscar");
		btnbuscar.setBounds(478, 69, 171, 26);
		btnbuscar.setForeground(new java.awt.Color(64,128,128));
		btnbuscar.setFont(new java.awt.Font("Tahoma",1,12));
		btnbuscar.setSize(99, 32);
		btnbuscar.addActionListener(cuni);
		panel.add(btnbuscar);
		

		lblSocio = new JLabel("Socio");
		lblSocio.setBounds(118, 166, 85, 15);
		lblSocio.setFont(new java.awt.Font("Tahoma",1,12));
		lblSocio.setForeground(new java.awt.Color(64,128,128));
		panel.add(lblSocio);
		
		txtSocio = new JTextField();
		txtSocio.setBounds(246, 161, 171, 26);
		panel.add(txtSocio);

		
		ComboBoxModel cmbCooperativaModel = 
				new DefaultComboBoxModel(new String[] { "Seleccione una Opcion" });
		cmbTipo = new JComboBox();
		cmbTipo.setBounds(118, 248, 299, 26);
		cmbTipo.setModel(cmbCooperativaModel);
		panel.add(cmbTipo);
		
		lbltipo= new JLabel("Tipo Unidad");
		lbltipo.setBounds(118, 254, 85, 15);
		lbltipo.setFont(new java.awt.Font("Tahoma",1,12));
		lbltipo.setForeground(new java.awt.Color(64,128,128));
		panel.add(lbltipo);
		
		txtTipo = new JTextField();
		txtTipo.setBounds(246, 249, 171, 26);
		panel.add(txtTipo);

		
		lblchofer  = new JLabel("Chofer");
		lblchofer.setBounds(118, 210, 70, 15);
		lblchofer.setFont(new java.awt.Font("Tahoma",1,12));
		lblchofer.setForeground(new java.awt.Color(64,128,128));
		panel.add(lblchofer);
		
		cmbChofer = new JComboBox();
		cmbChofer.setBounds(246, 205, 171, 24);
		ComboBoxModel cmbChoferModel = 
				new DefaultComboBoxModel(new String[] { "Seleccione un Chofer" });
		cmbChofer.setModel(cmbChoferModel);
		cmbChofer.addActionListener(cuni);
		cmbChofer.addItemListener(cuni);
		panel.add(cmbChofer);
		
		txtChofer = new JTextField();
		txtChofer.setBounds(246, 205, 171, 26);
		panel.add(txtChofer);

		
	}
	
	//Metodos Gets de los objetos JTextField y JButton
	
	
	
	public JTextField getTxtCodigo(){
		return txtcodigo;
	}
	



	public JTextField getTxtChofer() {
		return txtChofer;
	}

	public JComboBox getCmbChofer() {
		return cmbChofer;
	}

	public JLabel getLbltipo() {
		return lbltipo;
	}

	public JTextField getTxtTipo() {
		return txtTipo;
	}

	public JTextField getTxtSocio() {
		return txtSocio;
	}

	public JComboBox getCmbTipo() {
		return cmbTipo;
	}

	public JTextField getTxtDescripcion(){
		return txtdescripcion;
	}
	
	//Metodos gets de los botones
	
	public JButton getBtnGuardar(){
		return btnguardar;
	}
	
	public JButton getBtnEliminar(){
		return btneliminar;
	}
	
	public JButton getBtnModificar(){
		return btnmodificar;
		
	}
	
	public JButton getBtnLimpiar(){
		return btnlimpiar;
	}
	
	public JButton getBtnBuscar(){
		return btnbuscar;
	}

	/** 
	 * Metodo que agrega una fila en la tabla de las Unidad
	 * @param datos fila que se va agregar en tblUnidad
	 */
	public void agregarFilaTblUnidad(Vector<String> datos) {
		DefaultTableModel modelo = (DefaultTableModel) tblUnidad.getModel();	
		modelo.addRow(datos);
	}
	
	/**
	 * Metodo que permite remover todos los elementos de tblTipoUnidad
	 */
	public void limpiarTabla(){
		DefaultTableModel modelo = (DefaultTableModel) tblUnidad.getModel();
		while (modelo.getRowCount() > 0) {
			modelo.removeRow(0);
		}
	}
	
	
	/**
	 * Permitira mostrar un mensaje de informacion al usuario 
	 * @param mensaje a mostrar al usuario
	 */
	public void mostrarMensaje(String mensaje) {
		JOptionPane.showMessageDialog(this, mensaje, "Informacion", JOptionPane.INFORMATION_MESSAGE);
	}
	
	/**
	 * Permitira mostrar un mensaje de error al usuario 
	 * @param mensaje a mostrar al usuario
	 */
	public void mostrarMensajeError(String mensaje) {
		JOptionPane.showMessageDialog(this, mensaje, "ERROR", JOptionPane.ERROR_MESSAGE);
	}
	
	/**
	 * Permitira mostrar un mensaje de confirmacion al usuario 
	 * @param mensaje a mostrar al usuario
	 * @return respuesta del usuario
	 */
	public int mostrarMensajeConfirmacion(String mensaje) {
		return JOptionPane.showConfirmDialog(this, mensaje, "Selecciona una Opcion", JOptionPane.YES_NO_OPTION);
	}
}
